Computers (including lesser electronic devices with limited computational abilities) are now part of everyday life. Until recently, however, the tasks for which computers could practically be used was sometimes limited by the manner in which a user could input information. Although there are numerous devices with which a computer user can provide input to a computer, many of these devices (e.g., keyboards, mice, trackballs, touchpads, etc.) have limitations and are not well-suited for some circumstances. Note-taking is but one example. Many individuals lack the typing skills to contemporaneously take notes by typing on a keyboard. Moreover, many persons find it difficult to simultaneously use a keyboard and devote attention to other matters, such as participation in a meeting. Conversely, most people can take handwritten notes while participating in such activities, and can do so rather quickly. Many people also take notes by combining written language with drawings, sketches, diagrams, symbols, etc. Keyboards, mice, touchpads, trackballs and various other traditional user input devices are not conducive to such activity. Moreover, keyboards, mice and trackballs generally require a surface upon which to rest the input device (and usually the computer), and are thus ill-suited to situations where a user may be standing or frequently moving from place to place.
An input device and technique that addresses these and other problems mimics traditional pencil (or pen) and paper. Specifically, certain devices allow a user to create images by moving a stylus across a display screen. Using the stylus (or a “pen”) as a writing instrument, the user creates a graphical image of handwriting, symbols, drawing figures, or anything else that can be drawn with pencil and paper. The electronic ink created with the stylus may be maintained or stored in the graphical form in which it is created, such as a drawing, handwritten notes, etc. The ink may also be converted to another form. For example, various application software is able to recognize or interpret the electronically handwritten letters, words, etc. and substitute text for the electronic “ink.” These devices and associated recognition software offer the convenience and intuitive nature of pencil and paper combined with electronic storage, editing, copying and other advantages of a computer.
As with other input schemes, however, a user of a pen-based computer will need to execute various commands, make menu choices, and perform numerous other activities beyond the simple creation of handwriting or drawing figures. For example, and similar to input using a mouse or keyboard, a user may need to specify font, color, type, paragraph style, or other text characteristics; may need to specify a predetermined drawing shape such as a line, rectangle, circle, arrow, flow chart box, or other frequently used shape; may need to save an object on the display into a file; may need to open a new file; may need to cut or copy a portion of a displayed object, or paste something previously cut or copied; may need to highlight or erase a portion of a screen object; or may need to perform numerous other commands or actions. In many graphical user interfaces, icons or drop-down textual menus are provided at the top of the screen, at the side, or elsewhere on a screen. To execute one of the commands corresponding to an icon or textual menu item, the user typically positions a cursor over the icon or menu item, and signals a choice (by, e.g., pressing a mouse or pen button).
Another format for presentation of possible commands is the context menu. Context menus are described in U.S. Pat. No. 5,664,133. Instead of moving the cursor to a main toolbar or menu, a user positions the cursor on (or near) an on-screen object (e.g., a text word, paragraph or other text block; a drawing figure; an image; a control interface; etc.) and indicates that a set of menu items specific to that object is desired. This indication can occur via the user pressing a particular button on a pointing device (e.g., pressing a right mouse button instead of a left mouse button). A context menu is then made available to the user that contains commands and actions (or shortcuts to commands and actions) that pertain to the object in question. The context menu may be displayed near the object in question.
Context menus can potentially solve certain problems associated with pen-based computers. When used for pointing, and unlike a mouse (which is a relative pointer), a stylus is an absolute pointer. A user is therefore often required to move his or her entire arm to navigate across a screen, not just the fingers or wrist (as is the case with a mouse). A stylus may thus require more movement than a mouse to achieve the same distance on the screen, resulting in faster hand and arm muscle fatigue. Context menus offer a way of minimizing required stylus travel and reducing fatigue.
Until now, however, the potential benefits of context menus have been undercut by differences between pointing with a stylus and pointing with a mouse. For example, it is generally more difficult to target a screen object with a stylus-moved cursor than with a mouse-moved cursor. A mouse typically moves across a desktop or other stable work surface, and the user's hand and arm are often resting on the same work surface. It is therefore easy to make small, controlled cursor movements. Conversely, a user typically holds a stylus above a tablet with less support and stability, making small controlled movements more difficult. Moreover, selecting a screen object by clicking with a mouse button is generally a pure vertical movement with one finger; the user can easily separate button-clicking finger movements from cursor-moving hand movements. With a stylus, however, a user may use the same arm, wrist, hand, and finger muscles to both move the cursor (by moving the stylus tip) and select a screen object (by, e.g., maintaining the cursor in a location or making a gesture). Even if a separate button is provided on the stylus, use of a stylus button is likely to cause the stylus tip, and thus the cursor, to move slightly. A stylus-controlled cursor may also be more difficult to see than a mouse-controlled cursor. Unlike a mouse, a stylus typically requires a user to rest his or her hand on the display screen, potentially obscuring the cursor location.
To overcome the targeting and visualization difficulties of a stylus, it is often desirable to increase the target size for a screen object. By way of hypothetical example, a screen display for particular object may have a target size for mouse-controlled cursor selection of 5 pixels by 5 pixels. To facilitate use of a stylus input device, the target size of that object might be increased to 10 pixels by 10 pixels. In other words, selecting the object in an environment designed for a mouse-controlled cursor requires placement of the cursor into a 5×5 square, while selection in an environment designed for stylus selection only requires placement of the cursor in a 10×10 area.
However, increasing object selection target size conflicts with the goal of minimizing stylus movements across the screen. As targets become larger, more screen space is needed to display multiple targets, and more distance must be traversed across the screen. With regard to context menus, the number of menu selections that can be presented in a context menu is thereby limited. Using conventional context menus with menu choices sized for stylus selection, studies have shown that more than seven menu items requires undesirable hand or wrist motion.
Accordingly, there remains a need for systems, methods and user interfaces that provide improved context menus for pen-based user input.